#!/usr/bin/perl

use warnings;
use strict;

my @months = ('Janurary', 'February', 'March', 'April', 'May', 'June',
  'July', 'August', 'September', 'October', 'November', 'December');
my @now = localtime time;			# Get current time
$now[3] =~ s/^0//;				# Remove any leading 0 from day
$now[5] +=1900;					# Calc. the right year.

print '<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
';

if ($ARGV[0] eq 'UserHTML')
{
  print'  <!ENTITY images1       "../Images/">
  <!ENTITY images2       "../../Images/">
  <!ENTITY images3       "../../../Images/">

  <!ENTITY % technical   "IGNORE">';
}

if ($ARGV[0] eq 'UserHTM')
{
  print'  <!ENTITY images1       "Images/">
  <!ENTITY images2       "Images/">
  <!ENTITY images3       "Images/">

  <!ENTITY % technical   "IGNORE">';
}

if ($ARGV[0] eq 'TechHTML')
{
  print'  <!ENTITY images1       "../Images/">
  <!ENTITY images2       "../../Images/">
  <!ENTITY images3       "../../../Images/">

  <!ENTITY % technical   "INCLUDE">';
}

if ($ARGV[0] eq 'TechHTM')
{
  print'  <!ENTITY images1       "Images/">
  <!ENTITY images2       "Images/">
  <!ENTITY images3       "Images/">

  <!ENTITY % technical   "INCLUDE">';
}

print '

  <!ENTITY about         SYSTEM "About">
  <!ENTITY intro         SYSTEM "Intro">
  <!ENTITY changelog     SYSTEM "ChangeLog">
  <!ENTITY comm          SYSTEM "Comm">
  <!ENTITY aliases       SYSTEM "Aliases">
  <!ENTITY commands      SYSTEM "Commands">
  <!ENTITY filters       SYSTEM "Filters">
  <!ENTITY keys          SYSTEM "Keys">
  <!ENTITY messages      SYSTEM "Messages">
  <!ENTITY swis          SYSTEM "SWIs">
  <!ENTITY menusfiles    SYSTEM "Menus/Files,fff">
  <!ENTITY menusinternal SYSTEM "Menus/Internal,fff">
  <!ENTITY menusintnotes SYSTEM "Menus/IntNotes,fff">
  <!ENTITY menusmodes    SYSTEM "Menus/Modes,fff">
  <!ENTITY menussystem   SYSTEM "Menus/System,fff">
  <!ENTITY utils         SYSTEM "Utils">
  <!ENTITY source        SYSTEM "Source">
  <!ENTITY Hbmg          SYSTEM "h/BMG,fff">
  <!ENTITY Hconstants    SYSTEM "h/Constants,fff">
  <!ENTITY Hedit         SYSTEM "h/Edit,fff">
  <!ENTITY Hfilter       SYSTEM "h/Filter,fff">
  <!ENTITY Hicons        SYSTEM "h/Icons,fff">
  <!ENTITY Hlistmacros   SYSTEM "h/ListMacros,fff">
  <!ENTITY Hmemoriser    SYSTEM "h/Memoriser,fff">
  <!ENTITY Hmemory       SYSTEM "h/Memory,fff">
  <!ENTITY Hmenus        SYSTEM "h/Menus,fff">
  <!ENTITY Hmessages     SYSTEM "h/Messages,fff">
  <!ENTITY Hmodulehead   SYSTEM "h/ModuleHead,fff">
  <!ENTITY Hmoduletail   SYSTEM "h/ModuleTail,fff">
  <!ENTITY Hsort         SYSTEM "h/Sort,fff">
  <!ENTITY Htask         SYSTEM "h/Task,fff">
  <!ENTITY Hurl          SYSTEM "h/URL,fff">
  <!ENTITY Hversion      SYSTEM "h/Version,fff">
  <!ENTITY Hwindows      SYSTEM "h/Windows,fff">
  <!ENTITY Hworkspace    SYSTEM "h/WorkSpace,fff">
  <!ENTITY Sbmg          SYSTEM "s/BMG,fff">
  <!ENTITY Sedit         SYSTEM "s/Edit,fff">
  <!ENTITY Sfilter       SYSTEM "s/Filter,fff">
  <!ENTITY Sicons        SYSTEM "s/Icons,fff">
  <!ENTITY Smemoriser    SYSTEM "s/Memoriser,fff">
  <!ENTITY Smemory       SYSTEM "s/Memory,fff">
  <!ENTITY Smenus        SYSTEM "s/Menus,fff">
  <!ENTITY Smessages     SYSTEM "s/Messages,fff">
  <!ENTITY Smodulehead   SYSTEM "s/ModuleHead,fff">
  <!ENTITY Smoduletail   SYSTEM "s/ModuleTail,fff">
  <!ENTITY Ssort         SYSTEM "s/Sort,fff">
  <!ENTITY Stask         SYSTEM "s/Task,fff">
  <!ENTITY Surl          SYSTEM "s/URL,fff">
  <!ENTITY Swindows      SYSTEM "s/Windows,fff">

  <!ENTITY date          "' . "$now[3] $months[$now[4]] $now[5]" .'">
]>

<book>
  <bookinfo>
    <title>';
  if ($ARGV[0] eq 'TechHTML' || $ARGV[0] eq 'TechHTM')
{
  print 'Technical';
}
else
{
  print 'User';
}
  print " documentation for Director</title>
    <authorgroup>
      <author><firstname>Philip</firstname><surname>Ludlam</surname></author>
    </authorgroup>
    <copyright><year>$now[5]</year><holder>The RISC OS Director Developers</holder></copyright>
    <date>&date;</date>
  </bookinfo>
  <toc>
  </toc>
  &about;
  &intro;
  &comm;";
  print '<appendix id="director/utils/index">
  <title>Index of the utilities supplied with Director</title>
    &utils;
</appendix>
<appendix id="director/menus/index">
  <title>Index of the menu support files supplied with Director</title>
    &menusfiles;
    &menusinternal;
    &menusintnotes;
    &menusmodes;
    &menussystem;
</appendix>
<appendix id="director/aliases">
  <title>Index of the alias setup by Director</title>
    &aliases;
</appendix>
<appendix id="director/keys">
  <title>Index of the keyboard shortcuts setup by Director</title>
    &keys;
</appendix>
<appendix id="director/commands/index">
  <title>Index of the commands provided by Director (the module)</title>
    &commands;
</appendix>
<appendix id="director/swis/index">
  <title>Index of the SWIs provided by Director</title>
    &swis;
</appendix>
<appendix id="director/messages">
  <title>Index of the Wimp Messages responded to by Director</title>
    &messages;
</appendix>
';
if ($ARGV[0] eq 'TechHTML' || $ARGV[0] eq 'TechHTM')
{
  print '<appendix id="director/source">
  <title>Director source code</title>
    &source;
</appendix>
';
}
  print '</book>
';

exit (0);


